home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / bin / defoma < prev    next >
Text File  |  2006-06-17  |  4KB  |  120 lines

  1. #! /usr/bin/perl -w
  2. package main;
  3.  
  4. use strict;
  5. use POSIX;
  6. use vars qw($COMNAME %SIG $ARG0);
  7. use File::Copy;
  8. use Debian::Defoma::Common;
  9. use Debian::Defoma::Font;
  10. use Debian::Defoma::Id;
  11. use Debian::Defoma::Subst;
  12. use Debian::Defoma::User;
  13. import Debian::Defoma::Common qw(&mylock &arg_check &arg_check_category
  14.                  &get_files &SUBSTRULEDIR &ERROR &readfile);
  15. import Debian::Defoma::User qw(&defoma_user_init &defoma_user_update_font);
  16.  
  17. $ARG0 = $0;
  18. $ARG0 =~ /(.*)\/(.*)/;
  19. $COMNAME = $2;
  20. my $Type;
  21.  
  22. printv(join(' ', $ARG0, ARGS));
  23.  
  24. $SIG{'HUP'} = \&exitfunc;
  25. $SIG{'INT'} = \&exitfunc;
  26. $SIG{'QUIT'} = \&exitfunc;
  27. $SIG{'TERM'} = \&exitfunc;
  28.  
  29. sub exitfunc {
  30.     printw('Teminate Signal!');
  31.     term_all();
  32.     mylock(0);
  33.  
  34.     exit ERROR;
  35. }
  36.  
  37. sub usage {
  38.     if ($COMNAME eq 'defoma-font' || $COMNAME eq 'defoma') {
  39.     printm("defoma-font [option..] register <category> <font> <hints>..");
  40.     printm("defoma-font [option..] unregister <category> <font>");
  41.     printm("defoma-font [option..] reregister <category> <font> <hints>..");
  42.     printm("defoma-font [option..] purge <category> <font>");
  43.     printm("defoma-font [option..] register-all <hintfile>");
  44.     printm("defoma-font [option..] unregister-all <hintfile>");
  45.     printm("defoma-font [option..] reregister-all <hintfile>");
  46.     printm("defoma-font [option..] purge-all <hintfile>");
  47.     printm("defoma-font [option..] register-one <hintfile> <font>");
  48.     printm("defoma-font [option..] unregister-one <hintfile> <font>");
  49.     printm("defoma-font [option..] reregister-one <hintfile> <font>");
  50.     printm("defoma-font [option..] purge-one <hintfile> <font>");
  51.     }
  52.     if ($COMNAME eq 'defoma-app' || $COMNAME eq 'defoma') {
  53.     printm("defoma-app [option..] clean|update|ignore <app> [<category>..]");
  54.     printm("defoma-app [option..] purge <app>");
  55.     }
  56.     if ($COMNAME eq 'defoma-subst' || $COMNAME eq 'defoma') {
  57.     printm("defoma-subst [option..] new-rule <rulename> <extra lines>..");
  58.     printm("defoma-subst [option..] add-rule <rulename> <rules>..");
  59.     printm("defoma-subst [option..] remove-rule <rulename> <rules>..");
  60.     printm("defoma-subst [option..] edit-rule <rulename>");
  61.     printm("defoma-subst check-rule <rulename>");
  62.     }
  63.     if ($COMNAME eq 'defoma-id' || $COMNAME eq 'defoma') {
  64.     printm("defoma-id [option..] list-cache <app>");
  65.     printm("defoma-id [option..] install <app>[/<id-cache>] <id> <font>");
  66.     printm("defoma-id [option..] exclude <app>[/<id-cache>] <id> <font>");
  67.     printm("defoma-id [option..] unset <app>[/<id-cache>] <id> <font>");
  68.     printm("defoma-id [option..] add-alias <app>[/<id-cache>] <id> <font> <alias>");
  69.     printm("defoma-id [option..] remove-alias <app>[/<id-cache>] <alias> <font>");
  70.     }
  71.     if ($COMNAME eq 'defoma-user' || $COMNAME eq 'defoma') {
  72.     printm("defoma-user [options..] update");
  73.     printm("defoma-user [options..] reconfigure");
  74.     }
  75. }
  76.  
  77. sub usage_and_exit {
  78.     usage();
  79.     exit ERROR;
  80. }
  81.  
  82. sub init_all {
  83.     defoma_font_init();
  84.     defoma_user_init() if (USERSPACE);
  85.     &Debian::Defoma::Configure::init();
  86.     &Debian::Defoma::Configure::init2(@_);
  87.     defoma_user_update_font() if (USERSPACE);
  88. }
  89.  
  90. sub term_all {
  91.     &Debian::Defoma::Configure::term();
  92.     defoma_font_term();
  93. }
  94.  
  95. usage_and_exit() if (@ARGV == 0);
  96.  
  97. if ($COMNAME eq 'defoma') {
  98.     $Type = shift(@ARGV);
  99.     unless (defined($Type)) {
  100.     usage_and_exit;
  101.     }
  102. } else {
  103.     $COMNAME =~ /^defoma-(.*)$/;
  104.     $Type = $1;
  105. }
  106.  
  107. my $command = shift(@ARGV) || usage_and_exit;
  108.  
  109. if ($command =~ /^-/) {
  110.     printe("Unknown option: $command.");
  111.     exit ERROR;
  112. }
  113.  
  114. if ($Type =~ /^(font|app|subst|id|user)$/) {
  115.     require("/usr/share/defoma/libdefoma-$Type.pl");
  116.     main($command);
  117. }
  118.  
  119. usage_and_exit();
  120.